package rstk.resources;
import javax.swing.Icon;

/**
 * All Tool managers must implement the RSTKToolManager
 * @author AmberJoy
 *
 */
public interface RSTKToolManager {
	/**
	 * Returns an <code>Icon</code> representation of an inactive RSTKTool
	 * 
	 * @return <code>Icon</code> - the <code>Icon</code> representation of the 
	 * inactive Tool
	 */
	public Icon getInactiveIcon();
	/**
	 * Returns an <code>Icon</code> representation of an active RSTKTool
	 * 
	 * @return <code>Icon</code> - the <code>Icon</code> representation of the 
	 * active Tool
	 */
	public Icon getActiveIcon();
	/**
	 * Returns the name of the RSTKTool
	 * 
	 * @return <code>String</code> - the Name of the tool
	 */
	public String getName();
	/**
	 * Called when the application is requested to open
	 */
	public void open();
	/**
	 * Called when the application is requested to close
	 */
	public void close();
	/**
	 * Called when the application is clicked on, if it is already open
	 */
	public void focus();
	
}
